import { MidwayConfig } from '@midwayjs/core';
import { busboyConfig } from '@config/busboy.config';

export default {
  // use for cookie sign key, should change to your own and keep security
  keys: 'xxx', // 自定义
  koa: {
    port: 7002,
  },
  validate: {
    enable: true,
    validationOptions: {
      allowUnknown: true, // 允许未定义的字段
      abortEarly: true,
      stripUnknown: true, // 剔除参数中的未定义属性
    },
  },
  jwt: {
    secret: 'xxx', // 自定义
    expiresIn: '2d', // 2天过期
  },

  // 文件上传配置
  busboy: busboyConfig,

  redis: {
    client: {
      host: 'localhost',
      port: 6379,
      password: 'Lzugis2025',
      db: 0,
    },
  },

  typeorm: {
    dataSource: {
      default: {
        type: 'postgres',
        host: 'localhost',
        port: 5432,
        username: 'postgres',
        password: 'root',
        database: 'ruoyi_nodejs',
        synchronize: false, // 如果第一次使用，不存在表，有同步的需求可以写 true，注意会丢数据
        logging: false,
        // 支持如下的扫描形式，为了兼容我们可以同时进行.js和.ts匹配，⬇️
        entities: ['entity'],
        timezone: '+08:00', // 避免时间误差8小时
        dateStrings: true, // 时间字段返回字符串
        bigNumberStrings: false, // 避免大数字被截断转String类型
      },
    },
  },
} as MidwayConfig;
